package cn.stylefeng.guns.modular.tool.entity;

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

/**
 * <p>
 * 云仓入库表
 * </p>
 * @author zhucx
 * @since 2023-04-03
 */
@TableName("tool_order_put")
@Data
public class ToolOrderPut implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 系统单号
     */
    @TableField("put_number")
    private String putNumber;

    /**
     * 客户id
     */
    @TableField("put_customer_id")
    private Long putCustomerId;

    /**
     * 客户名称
     */
    @TableField("put_customer_name")
    private String putCustomerName;

    /**
     * 结算单位
     */
    @TableField("settlementunit")
    private String settlementunit;

    /**
     * 客户单号
     */
    @TableField("put_customer_number")
    private String putCustomerNumber;

    /**
     * 预计入库时间
     */
    @TableField("estimatetime")
    private String estimatetime;

    /**
     * 仓库id
     */
    @TableField("warehouse_id")
    private Long warehouseId;

    /**
     * 仓库名称
     */
    @TableField("warehouse_name")
    private String warehouseName;

    /**
     * 入库方式
     */
    @TableField("put_mode")
    private String putMode;

    /**
     * 入库订单类别
     */
    @TableField("put_type")
    private String putType;

    /**
     * 来源地
     */
    @TableField("origin")
    private String origin;

    /**
     * 来源单位
     */
    @TableField("sourceunit")
    private String sourceunit;

    /**
     * 结算方式
     */
    @TableField("settlement")
    private String settlement;

    /**
     * 车牌号
     */
    @TableField("carnumber")
    private String carnumber;

    /**
     * 装运编号
     */
    @TableField("shipmentnumber")
    private String shipmentnumber;

    /**
     * 单据状态
     */
    @TableField("billstate")
    private String billstate;

    /**
     * 备注
     */
    @TableField("notes")
    private String notes;

    /**
     * 乐观锁
     */
    @TableField("version")
    private Integer version;

    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;

    /**
     * 交付客户id
     */
    @TableField("deliver_id")
    private Long deliverId;

    /**
     * 制单时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 制单用户
     */
    @TableField("create_name")
    private String createName;

    @Override
    public String toString() {
        return "ToolOrderPut{" +
        "id=" + id +
        ", putNumber=" + putNumber +
        ", putCustomerId=" + putCustomerId +
        ", putCustomerName=" + putCustomerName +
        ", settlementunit=" + settlementunit +
        ", putCustomerNumber=" + putCustomerNumber +
        ", estimatetime=" + estimatetime +
        ", warehouseId=" + warehouseId +
        ", warehouseName=" + warehouseName +
        ", putMode=" + putMode +
        ", putType=" + putType +
        ", origin=" + origin +
        ", sourceunit=" + sourceunit +
        ", settlement=" + settlement +
        ", carnumber=" + carnumber +
        ", shipmentnumber=" + shipmentnumber +
        ", billstate=" + billstate +
        ", notes=" + notes +
        ", version=" + version +
        ", deptId=" + deptId +
        ", deliverId=" + deliverId +
        ", createTime=" + createTime +
        ", createName=" + createName +
        "}";
    }
}
